The present disclosure relates in general to energy generation energy storage and/or energy consuming systems, and in particular to a message bus system for communicating with such systems.
In recent years, climate change concerns, federal/state initiatives, and other factors have driven a rapid rise in the installation of renewable energy generation systems (i.e., systems that generate energy using renewable resources such as solar, wind, hydropower, etc.) at residential and non-residential sites. Solar photovoltaic (PV) systems, in particular, have been very popular.
The majority of this PV capacity is “grid-connected”—in other words, tied to the utility-maintained electrical grid. This allows site loads to be serviced from the grid at times when the PV system cannot generate sufficient energy due to lack of sunlight (e.g., at night), while enabling energy to be fed back into the grid at times when PV energy production exceeds site loads (thereby resulting in, e.g., a credit on the site owner's electricity bill and allowing the benefits of this energy conveyed to others on the grid).
One limitation with grid-connected PV systems is that, unlike a traditional power plant, the PV system power output is intermittent and not dispatchable. This means that the PV system is limited in its ability to provide power capacity at times of peak grid loads. The PV system is also limited in its ability to balance grid voltage and frequency variability, and to supply energy when prices are most economic. Most PV systems are reliant on the presence of a utility grid to operate due to safety regulations in place to protect utility workers, meaning the PV system cannot supply local loads when the utility grid is shut down or otherwise unavailable. Thus, in the case of a grid blackout, such systems cannot act as a backup energy source to power critical site loads, regardless of the amount of sunlight being received at the time of the blackout. To address this, systems have been developed that integrate grid-connected PV components with an on-site energy storage subsystem, such as a battery device and a battery inverter/charger. In these integrated systems, the energy storage subsystem can store excess energy as it is generated by the PV components, and then dispatch the stored energy to satisfy local and grid wide loads as needed. In addition, this energy storage capability enables a number of other features that can provide benefits to the site owner or the installer/service provider of the system, such as the ability to “time shift” energy usage to minimize energy costs and/or earn revenue, or the ability to control instantaneous power demand at a given site.
Despite the advantages associated with integrating grid-connected PV energy generation with on-site energy storage, there are a number of challenges that make it difficult to efficiently deploy and control such integrated systems, particularly on a large, distributed scale. For example, certain systems may utilize a communications scheme where devices of a remote site are closely bound to a central server. That is, the server is tightly coupled with the communication protocol, communication method, data processing, logging, database storage, and other aspects. This reduces flexibility in communication, making modifications to the server and/or the remote devices challenging to implement and test.
A communications scheme utilizing close binding between the central server and client may also create latency issues, where all of the devices attempt to connect to the server at the same time. Delays may also arise from such a centralized communication architecture requiring data to pass through a database between applications.
It is further noted that a variety of different types of end devices (e.g., inverters, batteries, controllable loads, PV devices, etc. of various makes and models) may be present across the different sites. Such end devices implement numerous protocols and behaviors, offering a heterogeneous interface for communications purposes. This variability in the device interfaces may be manifested throughout the system, in site gateway, backend server, and user interface (UI) code.
It is also noted that a single gateway may be tasked with communicating different types of information and commands to a plurality of devices located at the site. In such a communication scheme the site gateway can serve as a bottleneck. Specifically, undifferentiated communication passing between the site gateway and the end devices can result in delays due to limitation in processing capacity and/or transmission congestion.